//
//  QtbClient.h
//  AlianC
//
//  Created by anjingxw@126.com on 2021/7/22.
//  Copyright © 2021 infobird. All rights reserved.
//

#ifndef QTB_CLIENT_H
#define QTB_CLIENT_H

#import <QtbClient/LoginInfo.h>
#import <QtbClient/QuestionDescInfo.h>
#import <QtbClient/QtbClientListener.h>

NS_ASSUME_NONNULL_BEGIN
@interface QtbClient : NSObject
+(instancetype)shareClient;
- (void)setClientListener:(id<QtbClientListenerDelegate>)listener;
- (int)connect:(NSString *)centerAddress;
- (int)disConnect;
- (int)sendLoginInWithAccount:(NSString *)account password:(NSString *)password loginType:(LoginType)loginType Domain:(NSString *)domain;
- (int)sendLogout;
- (int)sendCallWithPhoneNum:(NSString *)phoneNum CallerNum:(NSString *)callerNum;
- (int)sendCallOtherWithAgent:(NSString *)agent IsVideo:(BOOL)isVideo;
- (int)sendCallKeywordWithKeyword:(NSString *)keyword IsVideo:(BOOL)isVideo;
- (int)sendAnswerCall:(NSString *)callID;
- (int)sendDropCall:(NSString *)callID;
- (int)sendParking;
- (int)sendProcess;
- (int)sendWait;
- (int)sendHold;
- (int)sendUnHold;
- (int)sendDTMF:(NSString *)dtmf;
- (int)sendQuestionWithAgent:(NSString *)agent;
- (int)sendQuestionWithKeyWord:(NSString *)keyWord;
- (int)sendQuestionCancel:(NSString *)callID;
- (int)startConference:(NSString *)callID;

- (LoginInfo *)getLoginInfo;
- (CallInfo *)getQuestionById:(NSString *)callID;
- (CallInfo *)getCallInfoById:(NSString *)callID;
- (QuestionDescInfo *)getQuestionDescInfo:(NSString *)callID;

- (int)didEnter;
- (int)didLeave;
@end

NS_ASSUME_NONNULL_END
#endif /* QtbClient_h */
